home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UNIXTOOL / UNIXLIB37B / !UnixLib37_src_clib_unixlib_s_asm_dec < prev    next >
Encoding:
Text File  |  1996-11-09  |  5.3 KB  |  207 lines

  1. ;----------------------------------------------------------------------------
  2. ;
  3. ; $Source: /unixb/home/unixlib/source/unixlib37/src/clib/unixlib/s/RCS/asm_dec,v $
  4. ; $Date: 1996/11/06 22:01:41 $
  5. ; $Revision: 1.1 $
  6. ; $State: Rel $
  7. ; $Author: unixlib $
  8. ;
  9. ; Declare registers and SWIs we will be calling.
  10. ;
  11. ; $Log: asm_dec,v $
  12. ; Revision 1.1  1996/11/06 22:01:41  unixlib
  13. ; Initial revision
  14. ;
  15. ; Revision 1.5  1996/10/30 21:58:59  unixlib
  16. ; Massive changes made by Nick Burret and Peter Burwood.
  17. ;
  18. ; Revision 1.4  1996/09/16 21:23:51  unixlib
  19. ; CL_0002 Nick Burret
  20. ; Minor changes to file handling
  21. ; Change most error numbers, and use in assembler sources (SJC)
  22. ; Various minor bug fixes and compatability changes.
  23. ;
  24. ; Revision 1.3  1996/07/21 22:15:12  unixlib
  25. ; CL_0001 Nick Burret
  26. ; Improve memory handling. Remove C++ library incompatibilities.
  27. ; Improve file stat routines.
  28. ;
  29. ; Revision 1.2  1996/05/06 09:01:33  unixlib
  30. ; Updates to sources made by Nick Burrett, Peter Burwood and Simon Callan.
  31. ; Saved for 3.7a release.
  32. ;
  33. ; Revision 1.1  1996/04/19 22:02:19  simon
  34. ; Initial revision
  35. ;
  36. ;----------------------------------------------------------------------------
  37.  
  38. ; Bits that control which bits are compiled into UnixLib. Note, this must be
  39. ; kept in sync with <sys/syslib.h>, <signal.h> and <errno.h>.
  40.  
  41. ; Is an alloca() failure fatal? Nick says yes, Linux says no.
  42. ALLOCA_FATAL    EQU    1
  43. ; Do paranoid checks ?
  44. PARANOID    EQU    1
  45. ; Use dynamic areas for heap on RISC OS 3.5+
  46. DYNAMIC_AREA    EQU    1
  47. ; Align things to 4K boundaries for exec
  48. |__4K_BOUNDARY|    EQU    0
  49.  
  50. ; registers
  51.  
  52. r0    RN    0
  53. r1    RN    1
  54. r2    RN    2
  55. r3    RN    3
  56. r4    RN    4
  57. r5    RN    5
  58. r6    RN    6
  59. r7    RN    7
  60. r8    RN    8
  61. r9    RN    9
  62. r10    RN    10
  63. r11    RN    11
  64. r12    RN    12
  65. r13    RN    13
  66. r14    RN    14
  67. r15    RN    15
  68.  
  69. a1    RN    0    ; Argument 1
  70. a2    RN    1    ; Argument 2
  71. a3    RN    2    ; Argument 3
  72. a4    RN    3    ; Argument 4
  73. v1    RN    4    ; Variable 1
  74. v2    RN    5    ; Variable 2
  75. v3    RN    6    ; Variable 3
  76. v4    RN    7    ; Variable 4
  77. v5    RN    8    ; Variable 5
  78. v6    RN    9    ; Variable 6
  79.  
  80. sl    RN    10    ; Stack limit / stack chunk handle
  81. fp    RN    11    ; frame pointer
  82. ip    RN    12    ; Tempory workspace, used in procedure entry
  83. sp    RN    13    ; Stack pointer
  84. lr    RN    14    ; Link register
  85. pc    RN    15    ; Program counter
  86.  
  87. f0    FN    0
  88. f1    FN    1
  89. f2    FN    2
  90. f3    FN    3
  91. f4    FN    4
  92. f5    FN    5
  93. f6    FN    6
  94. f7    FN    7
  95.  
  96. NFlag    EQU    &80000000    ; Negative flag
  97. ZFlag    EQU    &40000000    ; Zero flag
  98. CFlag    EQU    &20000000    ; Carry flag
  99. VFlag    EQU    &10000000    ; Overflow flag
  100. IFlag    EQU    &08000000    ; IRQ disable
  101. FFlag    EQU    &04000000    ; FIRQ disable
  102.  
  103.  
  104.     MACRO
  105.     NAME    $name
  106.     DCB    "$name",0
  107.     ALIGN
  108.     DCD    &FF000000 + (:LEN: "$name"+3) :AND &FFFFFFFC
  109.     MEND
  110.  
  111. EXIT_SUCCESS    EQU    0
  112. EXIT_FAILURE    EQU    1
  113.  
  114. SIGHUP    EQU    1    ;   hangup
  115. SIGINT    EQU    2    ;   terminal interrupt
  116. SIGQUIT EQU    3    ; * ^\ from terminal
  117. SIGILL    EQU    4    ; * illegal instruction
  118. SIGTRAP EQU    5    ; * trace trap - unused
  119. SIGIOT    EQU    6    ;   abort
  120. SIGABRT EQU    6    ;   abort
  121. SIGEMT    EQU    7    ; * EMT (h/ware error)
  122. SIGFPE    EQU    8    ; * FPE trap
  123. SIGKILL EQU    9    ;   kill signal
  124. SIGBUS    EQU    10    ; * bus error
  125. SIGSEGV EQU    11    ; * segmentation violation
  126. SIGSYS    EQU    12    ; * bad system call
  127. SIGPIPE EQU    13    ;   broken pipe
  128. SIGALRM EQU    14    ;   alarm call
  129. SIGTERM EQU    15    ;   termination signal
  130. SIGURG    EQU    16    ;   urgent or out-of-band data
  131. SIGSTOP    EQU    17    ;   stop, unblockable
  132. SIGTSTP    EQU    18    ;   keyboard stop
  133. SIGCONT    EQU    19    ;   continue
  134. SIGCHLD    EQU    20    ;   child process has terminated/stopped
  135. SIGCLD    EQU    SIGCHLD
  136. SIGTTIN    EQU    21    ;   background read from tty
  137. SIGTTOU    EQU    22    ;   background write to tty
  138. SIGIO    EQU    23    ;   file descriptor is ready to perform I/O
  139. SIGPOLL    EQU    SIGIO
  140. SIGXCPU    EQU    24    ;   CPU time limit exceeded
  141. SIGXFSZ    EQU    25    ;   file size limit exceeded
  142. SIGVTALRM EQU    26    ;   alarm call
  143. SIGPROF EQU    27    ;   profiler alarm call
  144. SIGWINCH EQU    28    ;   window size change
  145. SIGINFO EQU    29    ;   information request
  146. SIGUSR1 EQU    30    ;   user signal 1
  147. SIGUSR2 EQU    31    ;   user signal 2
  148. SIGLOST EQU    32    ;   resource lost
  149. SIGERR    EQU    33    ;   RiscOS error
  150.  
  151. EOPSYS    EQU    106    ; RISC OS error
  152.  
  153. OS_WriteS    EQU    &000001
  154. OS_NewLine    EQU    &000003
  155. OS_Exit        EQU    &000011
  156. OS_EnterOS    EQU    &000016
  157. OS_GenerateError    EQU    &00002B
  158.  
  159. X_Bit    EQU    &20000
  160.  
  161. XOS_WriteC            EQU    &000000 + X_Bit
  162. XOS_WriteS            EQU    &000001 + X_Bit
  163. XOS_Write0            EQU    &000002 + X_Bit
  164. XOS_NewLine            EQU    &000003 + X_Bit
  165. XOS_ReadC            EQU    &000004 + X_Bit
  166. XOS_CLI                EQU    &000005 + X_Bit
  167. XOS_Byte            EQU    &000006 + X_Bit
  168. XOS_Word            EQU    &000007 + X_Bit
  169. XOS_File            EQU    &000008 + X_Bit
  170. XOS_Args            EQU    &000009 + X_Bit
  171. XOS_GBPB            EQU    &00000C + X_Bit
  172. XOS_Find            EQU    &00000D + X_Bit
  173. XOS_GetEnv            EQU    &000010 + X_Bit
  174. XOS_IntOn            EQU    &000013 + X_Bit
  175. XOS_EnterOS            EQU    &000016 + X_Bit
  176.  
  177. XOS_SetCallBack            EQU    &00001B + X_Bit
  178. XOS_Module            EQU    &00001E + X_Bit
  179. XOS_ReadVarVal            EQU    &000023 + X_Bit
  180. XOS_FSControl            EQU    &000029 + X_Bit
  181. XOS_ChangeDynamicArea        EQU    &00002A + X_Bit
  182. XOS_CallAfter            EQU    &00003B + X_Bit
  183. XOS_CallEvery            EQU    &00003C + X_Bit
  184. XOS_RemoveTickerEvent        EQU    &00003D + X_Bit
  185. XOS_ChangeEnvironment        EQU    &000040 + X_Bit
  186. XOS_ReadMonotonicTime        EQU    &000042 + X_Bit
  187. XOS_WriteN            EQU    &000046 + X_Bit
  188. XOS_ReadMemMapInfo        EQU    &000051 + X_Bit
  189. XOS_AddCallBack            EQU    &000054 + X_Bit
  190. XOS_SerialOp            EQU    &000057 + X_Bit
  191. XOS_DynamicArea            EQU    &000066 + X_Bit
  192. XOS_PlatformFeatures        EQU    &00006D + X_Bit
  193. XOS_SynchroniseCodeAreas    EQU    &00006E + X_Bit
  194. XOS_CallASWI            EQU    &00006F + X_Bit
  195. XOS_CallASWIR12            EQU    &000071 + X_Bit
  196. XOS_ConvertHex8            EQU    &0000D4 + X_Bit
  197.  
  198. XFPEmulator_Version        EQU    &040480 + X_Bit
  199. XSharedCLibrary_LibInitAPCS_R    EQU    &080681 + X_Bit
  200. XSharedCLibrary_LibInitModule    EQU    &080682 + X_Bit
  201.  
  202. XMessageTrans_ErrorLookup    EQU    &041506 + X_Bit
  203.  
  204. XTaskWindow_TaskInfo        EQU    &043380 + X_Bit
  205.  
  206.     END
  207.